/*

Replication do file for Matthew Fails & Taylor Richardson, "Economic Performance and the Type and Method of Presidential Term Limit Evasion." Published in Democratization, https://www.tandfonline.com/doi/abs/10.1080/13510347.2025.2483417

Replication Dataset titled "FailsRichardsonReplicationDataset.dta"

Analyses performed in Stata 16

*/ 

*change this line of code to the location where the replication dataset is stored locally 

/* Variable Description
country				
countryisocode
year
DDregime			6-fold regime classification, ACLP - Democracy and Dictatorship Dataset
Democracy			Dummy variable coded 1 if democratic, ACLP - Democracy and Dictatorship Dataset				
Presidential		Dummy variable for presidential systems
Presidentname	
yrsoffc				Chief executive years in office, Database of Political Institutions
yrcurnt				Years left in current term, Database of Political Institutions
military			Is chief executive a military officer, Database of Political Institutions
numvote				Vote share of government parties, Database of Political Institutions
GDP_growth			GDP growth annual percent, World Bank Open Data
unemp_ilo			Total unemployment rate, ILO estimate, World Bank Open Data 
v2x_polyarchy		Electoral Democracy Index, Varieties of Democracy
v2x_regime			Regimes of the world - ROW measure, Varieties of Democracy
amendable			dummy variable for whether constitutions are amendable
amend_public		dummy variable for whether constitutions have public amendment provision
reelect				Is chief executive eligible for re-election, Database of Political Institutions
v2xps_party			Party institutionalization index, Varieties of Democracy	
linc_madd			Log GDP per capita, Maddison estimates
GEO					Region
rightexec			Is chief executive from a right party, Database of Political Institutions
dv_type				Type of evasion, Respect/Extend/Abolish/Avoid
dv_type2			Type of evasion, separates Avoid - delay from Avoid - reinterpret
attempt_new			dummy variable for any evasion attempt
dv_method			Method of evasion, Respect/Judiciary/Legislature/Referendum
*/


xtset ccode year

*generate sample identifier vaiable, following McKie (2019) approach

gen m_samp75 = 1 if Presidential == 1 & v2x_regime>=1 &  GEO!="Australia and New Zeland" & GEO!="Northern America" & GEO!="Western Europe" & GEO!="Northern Europe" & GEO!="Southern Europe" & year<=2019 & year>=1975
tab GEO if m_samp75==1
label var m_samp75 "Approximation of McKie (2019) sample, 1975-2019"

gen m_samp90 = 1 if Presidential == 1 & v2x_regime>=1 &  GEO!="Australia and New Zeland" & GEO!="Northern America" & GEO!="Western Europe" & GEO!="Northern Europe" & GEO!="Southern Europe" & year<=2019 & year>=1990
tab GEO if m_samp90==1
label var m_samp90 "Approximation of McKie (2019) sample, 1990-2019"

**Generate Table 1
tab  dv_type2 dv_method

**Generate Figures 1 and 2

bysort year: gen tot_extend = sum(attempt_new) if dv_type == 1
bysort year: gen tot_abolish = sum(attempt_new) if dv_type == 2
bysort year: gen tot_avoid = sum(attempt_new) if dv_type == 3

bysort year: gen tot_jud = sum(attempt_new) if dv_method == 1
bysort year: gen tot_leg = sum(attempt_new) if dv_method == 2
bysort year: gen tot_ref = sum(attempt_new) if dv_method == 3


graph bar (count) tot_extend tot_abolish tot_avoid if year>=1990& year<2020, over(year, label(ang(-45)))  stack ///
ytitle("Number of Events") ///
legend(pos(6) order(1 "Extend" 2 "Abolish" 3 "Avoid")) scheme(tab2) title("Fig. 1: Evasion Type") legend(size(medium)) saving(Fig1A.gph, replace)

graph bar (count) tot_jud tot_leg tot_ref if year>=1990& year<2020, over(year, label(ang(-45)))  stack ///
ytitle("Number of Events") ///
legend(pos(6) order(1 "Judicial Decision" 2 "Legislative Action" 3 "Referendum")) scheme(tab2) title("Fig. 2: Evasion Method") legend(size(medium))  saving(Fig1B.gph, replace)

graph combine "Fig1A.gph" "Fig1B.gph", cols(1) imargin(b=1 t=1) 

sort ccode year



***********Table 2 - Linear Probability Models with Country FEs 

**Establish new macros for control variables

global base "l.linc_madd l.v2x_polyarchy"
global addt_no "l.reelect l.numvote l.yrsoffc l.rightexec l.military"

xtreg attempt l.GDP_growth l.unemp_ilo $base if m_samp75==1, fe cluster(ccode)
outreg2 using t1, replace ctitle(G) bdec(3)
*to supplement table 1 and identify the 71 events included in the main regression
tab dv_type2 dv_method if e(sample)

xtreg attempt l.GDP_growth l.unemp_ilo $base $addt_no  if m_samp75==1, fe cluster(ccode)
outreg2 using t1, append ctitle(G) bdec(3)


*for appendix - replace with FE logits
xtlogit attempt l.GDP_growth l.unemp_ilo $base if m_samp75==1, fe 
outreg2 using t1a, replace ctitle(G) bdec(3)
xtlogit attempt l.GDP_growth l.unemp_ilo $base $addt_no if m_samp75==1, fe 
outreg2 using t1a, append ctitle(G) bdec(3)


*************Table 3 - Multinomial Logistic Regression of Respect, Extend, Abolish, Avoid
mlogit dv_type l.GDP_growth l.unemp_ilo $base  i.ccode if m_samp75==1, cluster(ccode)
outreg2 using type_table, replace keep(L.GDP_growth L.unemp_ilo L.linc_madd L.v2x_polyarchy L.reelect L.numvote L.yrsoffc L.rightexec L.military) ctitle(base) bdec(3) label

mlogit dv_type l.GDP_growth l.unemp_ilo $base $addt_no  i.ccode if m_samp75==1, cluster(ccode)

outreg2 using type_table, append keep(L.GDP_growth L.unemp_ilo L.linc_madd L.v2x_polyarchy L.reelect L.numvote L.yrsoffc L.rightexec L.military) ctitle(base) bdec(3) label

**Substantive Interpretation (use base specification model )
*Unempl 
mlogit dv_type l.GDP_growth l.unemp_ilo $base   i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.unemp_ilo=(3, 10)) predict(outcome(1)) atmeans contrast(at effects) post
estimates store margins_1

mlogit dv_type l.GDP_growth l.unemp_ilo $base   i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.unemp_ilo=(3, 10)) predict(outcome(2)) atmeans contrast(at effects) post
estimates store margins_2

mlogit dv_type l.GDP_growth l.unemp_ilo $base   i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.unemp_ilo=(3, 10)) predict(outcome(3)) atmeans contrast(at effects) post
estimates store margins_3

*Growth
mlogit dv_type l.GDP_growth l.unemp_ilo $base   i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.GDP_growth=(2.3,6.3)) predict(outcome(1)) atmeans contrast(at effects) post
estimates store margins_4

mlogit dv_type l.GDP_growth l.unemp_ilo $base  i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.GDP_growth=(2.3,6.3)) predict(outcome(2)) atmeans contrast(at effects) post
estimates store margins_5

mlogit dv_type l.GDP_growth l.unemp_ilo $base   i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.GDP_growth=(2.3,6.3)) predict(outcome(3)) atmeans contrast(at effects) post
estimates store margins_6

coefplot /// 
(margins_1) (margins_2) (margins_3) , xline(0) scheme(white_tableau)

coefplot (margins_4) (margins_5) (margins_6), xline(0) scheme(white_tableau)


**Also examine the effect of a 25-75 shift in EDI
mlogit dv_type l.GDP_growth l.unemp_ilo $base   i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.v2x_polyarchy=(.3,.65)) predict(outcome(1)) atmeans contrast(at effects) post
estimates store margins_7

mlogit dv_type l.GDP_growth l.unemp_ilo $base  i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.v2x_polyarchy=(.3,.65)) predict(outcome(2)) atmeans contrast(at effects) post
estimates store margins_8

mlogit dv_type l.GDP_growth l.unemp_ilo $base   i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.v2x_polyarchy=(.3,.65)) predict(outcome(3)) atmeans contrast(at effects) post
estimates store margins_9

*now combine the margins for Extend
coefplot /// 
(margins_1, m(circle) msize(huge) mlabel("Unemployment") mlabp(12) mlabsize(small)) ///
(margins_4, m(circle) msize(huge) mlabel("Economic Growth") mlabp(12) mlabsize(small)) ///
, xline(0, lc(cranberry) lpattern(dash) lwidth(medium)) xlabel(,ang(-75) labsize(small)) scheme(tab2) ylabel(.) ytitle("") ///
title("Change in Pr({it:Extend})" " ", size(med)) ///
legend(off) levels(95 90) xsize(6.5) ysize(4.5) saving(extend.gph, replace)

*combine for Abolish
coefplot /// 
(margins_2, m(circle) msize(huge) mlabel("Unemployment") mlabp(12) mlabsize(small)) ///
(margins_5, m(circle) msize(huge) mlabel("Economic Growth") mlabp(11) mlabsize(small))  ///
, xline(0, lc(cranberry) lpattern(dash) lwidth(medium)) xlabel(,ang(-75) labsize(small)) scheme(tab2) ylabel(.) ytitle("") ///
title("Change in Pr({it:Abolish})" " ", size(med)) ///
legend(off) levels(95 90) xsize(6.5) ysize(4.5) saving(abolish.gph, replace)

*combine for Avoid
coefplot /// 
(margins_3, m(circle) msize(huge) mlabel("Unemployment") mlabp(12) mlabsize(small)) ///
(margins_6, m(circle) msize(huge) mlabel("Economic Growth") mlabp(1) mlabsize(small))  ///
, xline(0, lc(cranberry) lpattern(dash) lwidth(medium)) xlabel(,ang(-75) labsize(small)) scheme(tab2) ylabel(.) ytitle("") ///
title("Change in Pr({it:Avoid})" " ", size(med)) ///
legend(off) levels(95 90) xsize(6.5) ysize(4.5) saving(avoid.gph, replace)


graph combine "extend.gph" "abolish.gph" "avoid.gph", cols(3)  ///
	imargin(medium) iscale(.9) title("Figure 3: Change in Predicted Probabilites of ETL Type" " ") ///
	note("{it:Note}: Based on Multinomial Logistic Regression reported in Table 3 Model 1. Change in predicted probability for" "a 25th-75th percentile increase in the independent variable. 90 and 95 percent CIs reported. All other covariates" "held at sample mean values.", size(small) span) 

	
**************Table 4 - Multinomial logistic regression of Method

*first adjust dv_method to give "respect" observation a code of 0; skipped this above to construct the Table 1 summary

replace dv_method = 0 if attempt_new!=1 & m_samp75==1
tab dv_method, mis
	
mlogit dv_method l.GDP_growth l.unemp_ilo $base  i.ccode if m_samp75==1, cluster(ccode)
outreg2 using method_table, replace keep(L.GDP_growth L.unemp_ilo L.linc_madd L.v2x_polyarchy L.reelect L.numvote L.yrsoffc L.rightexec L.military) ctitle(base) bdec(3) label

mlogit dv_method l.GDP_growth l.unemp_ilo $base $addt_no  i.ccode if m_samp75==1, cluster(ccode)
outreg2 using method_table, append keep(L.GDP_growth L.unemp_ilo L.linc_madd L.v2x_polyarchy L.reelect L.numvote L.yrsoffc L.rightexec L.military) ctitle(base) bdec(3) label	

***Figure 4; substantive Interpretation
*Unempl 
mlogit dv_method l.GDP_growth l.unemp_ilo $base  i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.unemp_ilo=(3, 10)) predict(outcome(1)) atmeans contrast(at effects) post
estimates store margins_1

mlogit dv_method l.GDP_growth l.unemp_ilo $base  i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.unemp_ilo=(3, 10)) predict(outcome(2)) atmeans contrast(at effects) post
estimates store margins_2

mlogit dv_method l.GDP_growth l.unemp_ilo $base  i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.unemp_ilo=(3, 10)) predict(outcome(3)) atmeans contrast(at effects) post
estimates store margins_3

*Growth
mlogit dv_method l.GDP_growth l.unemp_ilo $base  i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.GDP_growth=(2.3,6.3)) predict(outcome(1)) atmeans contrast(at effects) post
estimates store margins_4

mlogit dv_method l.GDP_growth l.unemp_ilo $base  i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.GDP_growth=(2.3,6.3)) predict(outcome(2)) atmeans contrast(at effects) post
estimates store margins_5

mlogit dv_method l.GDP_growth l.unemp_ilo $base   i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.GDP_growth=(2.3,6.3)) predict(outcome(3)) atmeans contrast(at effects) post
estimates store margins_6

coefplot /// 
(margins_1) (margins_2) (margins_3) , xline(0) scheme(white_tableau)

coefplot (margins_4) (margins_5) (margins_6), xline(0) scheme(white_tableau)

*now combine the margins for Judicial
coefplot /// 
(margins_1, m(circle) msize(huge) mlabel("Unemployment") mlabp(12) mlabsize(small)) ///
(margins_4, m(circle) msize(huge) mlabel("Economic Growth") mlabp(1) mlabsize(small))  ///
, xline(0, lc(cranberry) lpattern(dash) lwidth(medium)) xlabel(,ang(-75) labsize(small)) scheme(tab2) ylabel(.) ytitle("") ///
title("Change in Pr({it:Judicial Decision})" " ", size(med)) ///
legend(off) levels(95 90) xsize(6.5) ysize(4.5) saving(jud.gph, replace)

*combine for Legislative
coefplot /// 
(margins_2, m(circle) msize(huge) mlabel("Unemployment") mlabp(12) mlabsize(small)) ///
(margins_5, m(circle) msize(huge) mlabel("Economic Growth") mlabp(12) mlabsize(small))  ///
, xline(0, lc(cranberry) lpattern(dash) lwidth(medium)) xlabel(,ang(-75) labsize(small)) scheme(tab2) ylabel(.) ytitle("") ///
title("Change in Pr({it:Legislative Action})" " ", size(med)) ///
legend(off) levels(95 90) xsize(6.5) ysize(4.5) saving(leg.gph, replace)

*combine for Referendum
coefplot /// 
(margins_3, m(circle) msize(huge) mlabel("Unemployment") mlabp(12) mlabsize(small)) ///
(margins_6, m(circle) msize(huge) mlabel("Economic Growth") mlabp(12) mlabsize(small))  ///
, xline(0, lc(cranberry) lpattern(dash) lwidth(medium)) xlabel(,ang(-75) labsize(small)) scheme(tab2) ylabel(.) ytitle("") ///
title("Change in Pr({it:Public Referendum})" " ", size(med)) ///
legend(off) levels(95 90) xsize(6.5) ysize(4.5) saving(ref.gph, replace)


graph combine "jud.gph" "leg.gph" "ref.gph", cols(3)  ///
	imargin(medium) iscale(.9) title("Figure 4: Change in Predicted Probabilites of ETL Method" " ") ///
	note("{it:Note}: Based on Multinomial Logistic Regression reported in Table 4 Model 1. Change in predicted probability for" "a 25th-75th percentile increase in the independent variable. 90 and 95 percent CIs reported. All other covariates" "held at sample mean values.", size(small) span) 

****Figure 5: Comparative Effect Sizes
**Focus on "Avoid" and compare EDI to Unemp
mlogit dv_type l.GDP_growth l.unemp_ilo $base  i.ccode if m_samp75==1, cluster(ccode)
centile v2x_polyarchy if e(sample), centile(25 75)
margins, at(l.v2x_polyarchy=(.3, .6)) predict(outcome(3)) atmeans contrast(at effects) post
estimates store margins_1
*this examines pr(abolish)

mlogit dv_type l.GDP_growth l.unemp_ilo $base   i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.unemp_ilo=(3, 10)) predict(outcome(3)) atmeans contrast(at effects) post
estimates store margins_3

coefplot /// 
(margins_3, m(circle) msize(huge) mlabel("Unemployment") mlabp(12) mlabsize(small)) ///
(margins_1, m(circle) msize(huge) mlabel("Electoral Democracy Index") mlabp(12) mlabsize(small))  ///
, xline(0, lc(cranberry) lpattern(dash) lwidth(medium)) xlabel(,ang(-75) labsize(small)) scheme(tab2) ylabel(.) ytitle("") ///
title("Evasion Type:" "Change in Pr({it:Avoid Term Limits})" " ", size(med)) ///
legend(off) levels(95 90) xsize(6.5) ysize(4.5)  ///
saving(Avoid_Comparison.gph, replace)

**Now focus on method, specifically baseline specification and pr(referendum)
*compare growth with income per capita
mlogit dv_method l.GDP_growth l.unemp_ilo $base  i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.GDP_growth=(2.3,6.3)) predict(outcome(3)) atmeans contrast(at effects) post
estimates store margins_11

mlogit dv_method l.GDP_growth l.unemp_ilo $base i.ccode if m_samp75==1, cluster(ccode)
centile linc_madd if e(sample), centile(25 75)
margins, at(l.linc_madd=(7.5, 9)) predict(outcome(3)) atmeans contrast(at effects) post
estimates store margins_13

coefplot /// 
(margins_11, m(circle) msize(huge) mlabel("Economic Growth") mlabp(1) mlabsize(small)) ///
(margins_13, m(circle) msize(huge) mlabel("Income Per Capita") mlabp(12) mlabsize(small))  ///
, xline(0, lc(cranberry) lpattern(dash) lwidth(medium)) xlabel(,ang(-75) labsize(small)) scheme(tab2) ylabel(.) ytitle("") ///
title("Evasion Method:" "Change in Pr({it:Referendum})" " ", size(med)) ///
legend(off) levels(95 90) xsize(6.5) ysize(4.5)  ///
 saving(Refer_Comparison.gph, replace)


*compare unemployment with EDI for pr(judiciary)
mlogit dv_method l.GDP_growth l.unemp_ilo $base  i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.unemp_ilo=(3, 10)) predict(outcome(1)) atmeans contrast(at effects) post
estimates store margins_14

mlogit dv_method l.GDP_growth l.unemp_ilo $base  i.ccode if m_samp75==1, cluster(ccode)
margins, at(l.v2x_polyarchy=(.3, .6)) predict(outcome(1)) atmeans contrast(at effects) post
estimates store margins_15

coefplot /// 
(margins_14, m(circle) msize(huge) mlabel("Unemployment") mlabp(12) mlabsize(small)) ///
(margins_15, m(circle) msize(huge) mlabel("Electoral Democracy Index") mlabp(12) mlabsize(small))  ///
, xline(0, lc(cranberry) lpattern(dash) lwidth(medium)) xlabel(,ang(-75) labsize(small)) scheme(tab2) ylabel(.) ytitle("") ///
title("Evasion Method:" "Change in Pr({it:Judicial Decision})" " ", size(med)) ///
legend(off) levels(95 90) xsize(6.5) ysize(4.5)  ///
 saving(Judic_Comparison.gph, replace)

*Avoid_Comparison Refer_Comparison Judic_Comparison


graph combine "Avoid_Comparison.gph"  "Judic_Comparison.gph" "Refer_Comparison.gph", cols(3)  ///
	imargin(medium) iscale(.9) title("Figure 5: Comparing Effect Sizes Across Independent Variables" "on Evasion Type and Method" " ") ///
	note("{it:Note}: Based on Multinomial Logistic Regressions reported in Table 3 (first panel) and Table 4 (second and third panel)." "Change in predicted probability of specified outcome for a 25th-75th percentile increase in the independent variable." "90 and 95 percent CIs reported. All other covariates held at sample mean values.", size(small) span) 

*with just two, as reported in Published paper
graph combine "Avoid_Comparison.gph" "Refer_Comparison.gph" , cols(2)  ///
	imargin(medium) iscale(.9) title("Figure 5: Comparing Effect Sizes Across Independent Variables" "on Evasion Type and Method" " ") ///
	note("{it:Note}: Based on Multinomial Logistic Regressions reported in Table 3 (first panel) and Table 4 (second panel)." "Change in predicted probability of specified outcome for a 25th-75th percentile increase in the independent variable." "90 and 95 percent CIs reported. All other covariates held at sample mean values.", size(small) span) 
	
	
	
****Appendix materials
	
* two year lag, and moving averages 

global base2 "l2.linc_madd l2.v2x_polyarchy"
global addt2 "l2.reelect l2.numvote l2.yrsoffc l2.rightexec l2.military"


*generate 3-year moving averages of key econ variables, stay with one year lag of key IVs
by ccode: gen ma_g = (l3.GDP_growth + l2.GDP_growth + l.GDP_growth) / 3
by ccode: gen ma_u = (l3.unemp_ilo + l2.unemp_ilo + l.unemp_ilo) / 3


mlogit dv_type l2.GDP_growth l2.unemp_ilo $base2 $addt2 i.ccode if m_samp75==1, cluster(ccode)
outreg2 using lag_table, replace keep(L2.GDP_growth L2.unemp_ilo) ctitle(type 2) bdec(3) label

mlogit dv_type ma_g ma_u $base $addt_no i.ccode if m_samp75==1, cluster(ccode)
outreg2 using lag_table, append keep(ma_g ma_u) ctitle(type MA) bdec(3) label

mlogit dv_method l2.GDP_growth l2.unemp_ilo $base2 $addt2 i.ccode if m_samp75==1, cluster(ccode)
outreg2 using lag_table, append keep(L2.GDP_growth L2.unemp_ilo ) ctitle(method 2) bdec(3) label

mlogit dv_method ma_g ma_u $base $addt_no i.ccode if m_samp75==1, cluster(ccode)
outreg2 using lag_table, append keep(ma_g ma_u) ctitle(mehtod MA) bdec(3) label


* type2 varaible, which separates out the delay from reinterpretation approaches to "avoidance"
mlogit dv_type2 l.GDP_growth l.unemp_ilo $base  i.ccode if m_samp75==1, cluster(ccode)
outreg2 using type2_table, replace keep(L.GDP_growth L.unemp_ilo L.linc_madd L.v2x_polyarchy L.reelect L.numvote L.yrsoffc L.rightexec L.military) ctitle(base) bdec(3) label

mlogit dv_type2 l.GDP_growth l.unemp_ilo $base $addt_no  i.ccode if m_samp75==1, cluster(ccode)

outreg2 using type2_table, append keep(L.GDP_growth L.unemp_ilo L.linc_madd L.v2x_polyarchy L.reelect L.numvote L.yrsoffc L.rightexec L.military) ctitle(base) bdec(3) label


***LPM versions of the main mlogits 

gen type_d1 = 0 if dv_type!=.
replace type_d1 = 1 if dv_type == 1
label var type_d1 "Extend Dummy"

xtreg type_d1 l.GDP_growth l.unemp_ilo $base  if m_samp75==1, cluster(ccode) fe
xtreg type_d1 l.GDP_growth l.unemp_ilo $base $addt_no  if m_samp75==1, cluster(ccode) fe
outreg2 using lpmdummy_table, replace keep(L.GDP_growth L.unemp_ilo) ctitle("extend") bdec(3) label

gen type_d2 = 0 if dv_type!=.
replace type_d2 = 1 if dv_type == 2
label var type_d2 "Abolish Dummy"

xtreg type_d2 l.GDP_growth l.unemp_ilo $base  if m_samp75==1, cluster(ccode) fe
xtreg type_d2 l.GDP_growth l.unemp_ilo $base $addt_no  if m_samp75==1, cluster(ccode) fe
outreg2 using lpmdummy_table, append keep(L.GDP_growth L.unemp_ilo) ctitle("abolish") bdec(3) label

gen type_d3 = 0 if dv_type!=.
replace type_d3 = 1 if dv_type == 3
label var type_d3 "Avoid Dummy"

xtreg type_d3 l.GDP_growth l.unemp_ilo $base  if m_samp75==1, cluster(ccode) fe
xtreg type_d3 l.GDP_growth l.unemp_ilo $base $addt_no  if m_samp75==1, cluster(ccode) fe
outreg2 using lpmdummy_table, append keep(L.GDP_growth L.unemp_ilo) ctitle("avoid") bdec(3) label

*Method
gen method_d1 = 0 if dv_method!=.
replace method_d1 = 1 if dv_method == 1
label var method_d1 "Judicial Dummy"

xtreg method_d1 l.GDP_growth l.unemp_ilo $base  if m_samp75==1, cluster(ccode) fe
xtreg method_d1 l.GDP_growth l.unemp_ilo $base $addt_no  if m_samp75==1, cluster(ccode) fe
outreg2 using lpmdummy_table, append keep(L.GDP_growth L.unemp_ilo) ctitle("Judicial") bdec(3) label

gen method_d2 = 0 if dv_method!=.
replace method_d2 = 1 if dv_method == 2
label var method_d2 "Legislative Dummy"

xtreg method_d2 l.GDP_growth l.unemp_ilo $base  if m_samp75==1, cluster(ccode) fe
xtreg method_d2 l.GDP_growth l.unemp_ilo $base $addt_no  if m_samp75==1, cluster(ccode) fe
outreg2 using lpmdummy_table, append keep(L.GDP_growth L.unemp_ilo) ctitle("Legislative") bdec(3) label

gen method_d3 = 0 if dv_method!=.
replace method_d3 = 1 if dv_method == 3
label var method_d3 "Referendum Dummy"

xtreg method_d3 l.GDP_growth l.unemp_ilo $base  if m_samp75==1, cluster(ccode) fe
xtreg method_d3 l.GDP_growth l.unemp_ilo $base $addt_no  if m_samp75==1, cluster(ccode) fe
outreg2 using lpmdummy_table, append keep(L.GDP_growth L.unemp_ilo) ctitle("referendum") bdec(3) label

*Base specification, limit to amendable constitutions	
mlogit dv_method l.GDP_growth l.unemp_ilo $base  i.ccode if m_samp75==1 & amendable == 1, cluster(ccode)
*Addt specification, limit to amendable constitutions
mlogit dv_method l.GDP_growth l.unemp_ilo $base $addt_no i.ccode if m_samp75==1 & amendable == 1, cluster(ccode)

*Generate varaible (From comparative constitutions project) about whether current cons. has a provision for public amendment process
gen public = 0 if amend_public == .
replace public = 1 if amend_public == 1

mlogit dv_method l.GDP_growth l.unemp_ilo $base l.public i.ccode if m_samp75==1 & amendable ==1, cluster(ccode)
outreg2 using method_table_robust, append keep(L.GDP_growth L.unemp_ilo L.linc_madd L.v2x_polyarchy L.reelect L.numvote L.yrsoffc L.rightexec L.military L.public) ctitle(Amendable) bdec(3) label

mlogit dv_method l.GDP_growth l.unemp_ilo $base l.public $addt_no  i.ccode if m_samp75==1 & amendable == 1, cluster(ccode)
outreg2 using method_table_robust, append keep(L.GDP_growth L.unemp_ilo L.linc_madd L.v2x_polyarchy L.reelect L.numvote L.yrsoffc L.rightexec L.military L.public) ctitle(Amendable) bdec(3) label

*add the measure of party institutionalization to the two main Multinomial Logistic Regressions, 

mlogit dv_type l.GDP_growth l.unemp_ilo $base $addt_no l.v2xps_party i.ccode if m_samp75==1, cluster(ccode)
mlogit dv_method l.GDP_growth l.unemp_ilo $base $addt_no  l.v2xps_party i.ccode if m_samp75==1, cluster(ccode)


*******Descriptive stats and sample
mlogit dv_type l.GDP_growth l.unemp_ilo $base  i.ccode if m_samp75==1, cluster(ccode)

sum  dv_type dv_method l.GDP_growth l.unemp_ilo l.linc_madd l.v2x_polyarchy l.yrsoffc l.rightexec l.numvote l.reelect l.military l.public if e(sample)

list country year if attempt == 1 & e(sample)


